﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Imaginecup.Recycling.Behavior;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Imaginecup.recycling.Object;
using Imaginecup.gameState.recycling.Object.UI;

namespace Imaginecup.recycling.Behavior
{
    public interface IAnimationBehavior : IUpdate
    {
        // 현재 프레임 위치를 가져오는 함수
        int GetFramNumber();
        // 애니메이션을 업데이트 하는 함수
        void UpdateAnimation(GameTime gameTime);

        // 반복애니메이션을 할것 셋팅하는 함수
        void SetLoopAnimationFlag(bool flag);

        // 애니메이션 프레임의 끝을 확인하는 함수
        bool GetFinishFlag();

        CharacterState GetNextAnimationKey();
        Texture2D GetTexture();

        void ResetAnimation();

        Rectangle FrameRectangle
        {
            get;
        }
    }
}
